package com.wicket.okrapp.biz.service.dto.common;

import com.wicket.okrapp.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;

import lombok.Data;
import java.util.Objects;

/**
 * @desc WorkSceneGroupsDto
 * @使用场景
 */
@Data
public class WorkSceneGroupsDto extends BaseDto implements Serializable {

  /**
   * 冗余内容表类型编码 OMS_TARGET_CYCLE:目标周期表 OMS_EVALUATION_OBJECT_TARGET_CYCLE:被评对象目标周期表 OMS_TARGET:目标表 OMS_TARGET_CATEGORY:目标分类表 OMS_TARGET_OBJECTIVE:指标表 OMS_TASK:任务表 OMS_ORG_INDUCTION_RECORD:就职记录表 OMS_FRAMEWORK_ORIGINAL_ROLE_MEMBER:身份人员表 OMS_ORG_DEPT:部门表 OMS_BASE_HOST:宿主表 OMS_FRAMEWORK_SPACE:空间表 OMS_TSPE_CYCLE_STAGE_DATA:周期阶段资料记录 OMS_EVALUATION_TEMPLATE:评价模板 OMS_EVALUATION_PORTRAIT:评价画像表 OMS_ORG_POSITION:职务表 OMS_VIRTUAL_ORG_MEMBER:虚拟组织成员表 OMS_PLANNING:规划资料表 OMS_FRAMEWORK_USERS:个人账号表 OMS_EXECUTE_CYCLE_STAGE:执行周期阶段表 OMS_CONF_SCHEME:配置方案表 OMS_EVA_OBJ_TARGET_CYCLE_OSET:被评对象目标周期目标设置表 OMS_EVA_OBJ_TARGET_CYCLE_WEIGHT_SET:被评对象目标周期权重设置表 OMS_NOTICE:通知公告表 OMS_CYCLE:周期表 OMS_EVALUATION_SUBJECT:评价主题表 OMS_BIZ_APP_BATCH:业务应用批次表 OMS_EVA_BATCH_RELATED_SET:评价模板批次相关设置表 OMS_TARGET_CYCLE_PLAN_SET:目标周期规划设置表 OMS_TARGET_OBJECTIVE_PLAN_EXTEND:指标扩展规划设置表 OMS_MESSAGE_CHANNEL:通道表 OMS_ORG_ORGANIZATION:组织表 OMS_PROJECT:项目表 OMS_ORG_DEPT:部门表 OMS_QUESTION:问题表
   */
  @ApiModelProperty("冗余内容表类型编码")
  private String tableTypeCode;

  /**
   * 冗余内容表主键ID
   */
  @ApiModelProperty("冗余内容表主键ID")
  private String entityId;
/**
     * 虚拟组织成员ID 
     */
    @ApiModelProperty("虚拟组织成员ID")
    private String	 virtualOrgMemberId;

    /**
     * 虚拟组织成员就职记录ID 
     */
    @ApiModelProperty("虚拟组织成员就职记录ID")
    private String	 virtualOrgInductionRecordId;

    /**
     * 身份人员ID 
     */
    @ApiModelProperty("身份人员ID")
    private String	 originalRoleMemberId;

    /**
     * 个人账号 
     */
    @ApiModelProperty("个人账号")
    private String	 userId;

    /**
     * 角色标识 
     */
    @ApiModelProperty("角色标识")
    private String	 roleCode;

    /**
     * 组内职务名称 
     */
    @ApiModelProperty("组内职务名称")
    private String	 virtualOrganizationPosition;
@Override
  public boolean equals(Object o) {
      if (this == o) return true;
      if (o == null || getClass() != o.getClass()) return false;
      if (!super.equals(o)) return false;
      WorkSceneGroupsDto that = (WorkSceneGroupsDto) o;
      return  tableTypeCode == that.tableTypeCode&&entityId == that.entityId&&virtualOrgMemberId == that.virtualOrgMemberId&&virtualOrgInductionRecordId == that.virtualOrgInductionRecordId&&originalRoleMemberId == that.originalRoleMemberId&&userId == that.userId&&roleCode == that.roleCode&&virtualOrganizationPosition == that.virtualOrganizationPosition;
    }
@Override
  public int hashCode() {
      return Objects.hash(super.hashCode(), tableTypeCode,entityId,virtualOrgMemberId,virtualOrgInductionRecordId,originalRoleMemberId,userId,roleCode,virtualOrganizationPosition);
    }

}
